if hilite of button "Watch the cards go by" is true then
put true into watch
else
put false into watch
end if
put space & return into ret
put empty into field "Script" of card "Script Screen"
put empty into pScript
doMenu "Compact Stack"
go next card
push this card
get fileName("STAK")
if it is empty then
go prev card
play harpsichord "ee c"
exit mouseUp
end if
set lockMessages to true
go stack it
put "Processing the STACK SCRIPT."
show message box at 21,145
hide menuBar
if watch is false then
set lockScreen to true
end if
-- PROCESS STACK
put "SCRIPTS FOR STACK: " & short name of this stack into pScript
put return & "======================================================" & return & ret after pScript
put script of this stack into tempScript
if tempScript is empty then
else
put "** STACK SCRIPT ************************************" & return after pScript
put script of this stack after pScript
put ret after pScript
end if
-- PROCESS BACKGROUNDS
put number of backgrounds into pBack
repeat with bck = 1 to pBack
put "Processing BACKGROUND #" & bck && "of" && pBack
go to background bck
put script of background bck into tempScript
if tempScript is empty then
else
put "** BACKGROUND #" & bck after pScript
put the name of background bck into tempName
if tempName contains "id" then
else
put ": " & short name of background bck after pScript
end if
put " ************************************" after pScript
put return after pScript
put script of background bck after pScript
put ret after pScript
end if
-- BACKGROUND FIELDS
put the number of fields into pField
repeat with fld = 1 to pField
put script of field fld into tempScript
if tempScript is empty then
else
put "** BKGND #" & bck & ", FIELD #" & fld after pScript
put the name of field fld into tempName
if tempName contains "id" then
else
put ": " & short name of field fld after pScript
end if
put " ************************************" after pScript
put return after pScript
put script of field fld after pScript
put ret after pScript
end if
end repeat
-- BACKGROUND BUTTONS
put the number of background buttons into pButton
repeat with btn = 1 to pButton
put script of background button btn into tempScript
if tempScript is empty then
else
put "** BKGND #" & bck & ", BUTTON #" & btn after pScript
put the name of background button btn into tempName
if tempName contains "id" then
else
put ": " & short name of background button btn after pScript
end if
put " ************************************" after pScript
put return after pScript
put script of background button btn after pScript
put ret after pScript
end if
end repeat
end repeat
-- PROCESS CARDS
put number of cards into pCard
repeat with crd = 1 to pCard
put "Processing CARD #" & crd && "of" && pCard
go to card crd
put script of card crd into tempScript
if tempScript is empty then
else
put "** CARD #" & crd after pScript
put the name of card crd into tempName
if tempName contains "id" then
else
put ": " & short name of card crd after pScript
end if
put " ************************************" after pScript
put return after pScript
put script of card crd after pScript
put ret after pScript
end if
-- CARD FIELDS
put the number of card fields into pField
repeat with fld = 1 to pField
put script of card field fld into tempScript
if tempScript is empty then
else
put "** CARD #" & crd & ", FIELD #" & fld after pScript
put the name of card field fld into tempName
if tempName contains "id" then
else
put ": " & short name of card field fld after pScript
end if
put " ************************************" after pScript
put return after pScript
put script of card field fld after pScript
put ret after pScript
end if
end repeat
-- CARD BUTTONS
put the number of buttons into pButton
repeat with btn = 1 to pButton
put script of button btn into tempScript
if tempScript is empty then
else
put "** CARD #" & crd & ", BUTTON #" & btn after pScript
put the name of button btn into tempName
if tempName contains "id" then
else
put ": " & short name of button btn after pScript
end if
put " ************************************" after pScript
put return after pScript
put script of button btn after pScript
put ret after pScript
end if
end repeat
end repeat
pop card
go next card
if watch is false then
set lockScreen to false
end if
hide message box
show menuBar
put the number of chars in pScript into numChar
if numChar > 10000 then
put char 1 to 10000 of pScript into field "Script"
play harpsichord "ee c"
show card field "Too much"
show button "OK"
else
put pScript into field "Script"
play harpsichord "ee c"
answer "Processing Complete." with "OK"
end if
end mouseUp
-- part 4 (field)
-- low flags: 01
-- high flags: 2004
-- rect: left=73 top=35 right=238 bottom=444
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 3
-- text size: 18
-- style flags: 0
-- line height: 24
-- part name:
-- part 5 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=448 top=302 right=336 bottom=486
-- title width / last selected line: 0
-- icon id / first selected line: 1011 / 1011
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Quit
----- HyperTalk script -----
on mouseUp
visual effect dissolve to gray
visual effect dissolve slowly to gray
visual effect dissolve to card
go home
end mouseUp
-- part 7 (button)
-- low flags: 00
-- high flags: 2000
-- rect: left=374 top=47 right=85 bottom=418
-- title width / last selected line: 0
-- icon id / first selected line: 19678 / 19678
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: About
----- HyperTalk script -----
on mouseUp
hide button "About"
show card field "About"
show button "More"
end mouseUp
-- part 8 (field)
-- low flags: 81
-- high flags: 2002
-- rect: left=73 top=108 right=236 bottom=442
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 3
-- text size: 14
-- style flags: 256
-- line height: 18
-- part name: About
-- part 12 (field)
-- low flags: 81
-- high flags: 0002
-- rect: left=3 top=273 right=335 bottom=96
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 3
-- text size: 9
-- style flags: 256
-- line height: 12
-- part name: Make Button
-- part 13 (button)
-- low flags: 80
-- high flags: A000
-- rect: left=2 top=219 right=268 bottom=71
-- title width / last selected line: 0
-- icon id / first selected line: 1004 / 1004
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Script Report
----- HyperTalk script -----
on mouseUp
visual effect dissolve to gray
visual effect dissolve slowly to gray
visual effect dissolve to card
go to stack "Script Report"
end mouseUp
-- part 16 (field)
-- low flags: 81
-- high flags: 2002
-- rect: left=73 top=107 right=235 bottom=442
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 3
-- text size: 10
-- style flags: 0
-- line height: 13
-- part name: More
-- part 21 (field)
-- low flags: 81
-- high flags: 2002
-- rect: left=73 top=107 right=235 bottom=442
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 3
-- text size: 10
-- style flags: 0
-- line height: 13
-- part name: Even More
-- part 9 (button)
-- low flags: 80
-- high flags: A003
-- rect: left=232 top=207 right=229 bottom=289
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: OK
----- HyperTalk script -----
on mouseUp
hide button "OK"
hide card field "Even More"
show button "About"
hide card field "Make Button"
hide button "Script Report"
end mouseUp
-- part 17 (button)
-- low flags: 80
-- high flags: A003
-- rect: left=232 top=208 right=230 bottom=289
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: More
----- HyperTalk script -----
on mouseUp
hide button "More"
show card field "More"
hide card field "About"
show button "Even more"
end mouseUp
-- part 23 (field)
-- low flags: 01
-- high flags: 0004
-- rect: left=166 top=309 right=335 bottom=348
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 0
-- font id: 3
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Background
-- part 19 (button)
-- low flags: 00
-- high flags: A005
-- rect: left=171 top=313 right=330 bottom=339
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Watch the cards go by
-- part 22 (button)
-- low flags: 80
-- high flags: A003
-- rect: left=214 top=208 right=230 bottom=297
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Even More
----- HyperTalk script -----
on mouseUp
hide button "Even More"
show card field "Even More"
show button "OK"
hide card field "More"
show card field "Make Button"
show button "Script Report"
end mouseUp
-- part contents for card part 4
----- text -----
Script Report 1.2
by Eric Alderman
Script Report will examine any stack and produce a formatted report
(on screen, paper, or disk)
of all scripts in the stack.
-- part contents for card part 8
----- text -----
If you like Script Report,
please send $10.00 (or whatever) to:
Eric Alderman
48 Shattuck Square, Suite 13
Berkeley, CA 94704
-- part contents for card part 12
----- text -----
Copy this button, and paste it onto your Home stack
-- part contents for card part 16
----- text -----
Version 1.1 was sturdier than 1.0, due to the "set lockMessages" command, which suppresses nasty "on openCard" messages and the like. The "fileName()" XFCN requests the stack name (thanks to Steve
Maller). The message box shows the progress of Script Report as it processes a stack.
-- part contents for card part 21
----- text -----
Version 1.2 allows you to suppress the display of cards as Script Report processes the stack (using "set lockScreen"). This is good for stacks which have a lot of cards without many scripts on them, such as database-style stacks. Otherwise, the display doesn't really slow things down. Script Report can now handle a much larger report of scripts.